This disclosure generally relates to performance monitoring of applications executing on computing systems.
Web-based and mobile applications are common tools for delivering content and services to user computing devices. These applications are executed by application servers, which provide content to the computing devices and respond to requests from the computing devices. To avoid disruptions in the functionality of an application, an application server may additionally execute a program such as an agent to monitor the server and application. Monitoring an application server enables an administrator of the server to verify the application server is running properly and detect performance issues in the application.
For example, a monitor can instrument a framework or application server executing application code of an application to generate a transaction trace. Such a transaction trace can reveal potential performance problems with instrumented code of the application server or framework, but not the performance of individual processes (e.g., functions or methods) of the application code. While it is possible to instrument the application code with custom instrumentation (e.g., prior to compiling and deploying the application, and such as by manually instrumenting particular processes of the code), this requires knowledge regarding which processes are causing performance problems.